Internet browser applications are used to access many types of electronic content. In some contexts, such as in the case of cloud-based systems, a browser can be used to access electronic content that is provided through a network for local use and editing. In many cases, the browser is used to access the content but cannot be used to view or edit the content. For example, a user may use a browser to request an image document from a cloud-based system but cannot edit the image using the browser. Instead, the user must use another local application to edit the document and often be subjected to cumbersome and/or insecure options for providing the edited document back to the cloud-based system.
Local applications outside of the browser are generally not able to open, edit, and save cloud-based resources, e.g., a document stored in a content management system, directly due to technical limitations, e.g., of the hyper text transfer protocol (HTTP)/hyper text transfer protocol (HTTPS). For example, opening, editing, and saving such a resource may involve a cumbersome processes. The user must download a resource to the user's local storage, start a desktop application to edit and save it. The user must then open an upload form which asks for selection of a document to upload, find the document that was edited, submit the document for the web browser to upload, and confirm that the new document was uploaded as desired. Such processes require significant user interaction and tracking and there is a possibility that mistakes will result in errors and lost content.
A remote file system such as a network file system (NFS)/server message block (SMB) may be used to mount a remote resource or otherwise make the resource available to a local application under a locally-accessible path (e.g., Z:\data). For example, a user may mount the remote file system before editing a resource (usually after some kind of authentication and even though potentially logged into the website already), navigate the remote file system to find the resource to edit, open the resource in the desktop application, edit and save the resources, go back to the website that uses the resource, and refresh the page in order to see the new version. In this exemplary scenario, user authentication involves significant user effort. Thus, even though a user is logged into the website already using a web browser, because the user generally needs sufficient privileges to mount the remote system separate from that browser access, the user will be required to separately enter his/her credentials. Using components that are external to a browser to transfer data to and from a cloud that is accessed through a browser can require significant user effort and inefficiencies since such access generally requires a plug-in or other browser-external component to run in its own sandbox and therefore maintain its own network session that is separate from that of the browser. This means that the user will likely be forced to re-authenticate every time he/she uses such a component and exposes the component to potentially being blocked by a firewall or the like.